package com.aliothservice.catfish;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.aliothservice.catfish.admin.AdminController;
import com.aliothservice.catfish.admin.data.AdminDataManager;
import com.aliothservice.catfish.cart.CartController;
import com.aliothservice.catfish.cart.data.CartDataManager;
import com.aliothservice.catfish.device.DeviceController;
import com.aliothservice.catfish.device.data.DeviceDataManager;
import com.aliothservice.catfish.identity.IdentityController;
import com.aliothservice.catfish.identity.data.IdentityDataManager;
import com.aliothservice.catfish.maintenance.MaintenanceController;
import com.aliothservice.catfish.message.MessageController;
import com.aliothservice.catfish.message.data.MessageDataManager;
import com.aliothservice.catfish.order.OrderController;
import com.aliothservice.catfish.order.data.OrderDataManager;
import com.aliothservice.catfish.product.ProductController;
import com.aliothservice.catfish.product.data.ProductDataManager;

@Configuration
public class BeanConfigurator {
	
	@Bean
	public IdentityController identityController() {
		return new IdentityController();
	}

	@Bean
	public IdentityDataManager identityDataManager() {
		return new IdentityDataManager();
	}
	
	@Bean
	public AdminController adminController() {
		return new AdminController();
	}
	
	@Bean
	public AdminDataManager adminDataManager() {
		return new AdminDataManager();
	}
	
	@Bean
	public ProductController productController() {
		return new ProductController();
	}
	
	@Bean
	public ProductDataManager productDataManager() {
		return new ProductDataManager();
	}
	
	@Bean
	public OrderController orderController() {
		return new OrderController();
	}
	
	@Bean
	public OrderDataManager orderDataManager() {
		return new OrderDataManager();
	}
	
	@Bean
	public CartController cartController() {
		return new CartController();
	}
	
	@Bean
	public CartDataManager cartDataManager() {
		return new CartDataManager();
	}
	
	@Bean DeviceController deviceController() {
		return new DeviceController();
	}
	
	@Bean DeviceDataManager deviceDataManager() {
		return new DeviceDataManager();
	}
	
	@Bean
	public SessionManager sessionManager() {
		return new SessionManager();
	}
	
	@Bean
	public MessageController messageController() {
		return new MessageController();
	}
	
	@Bean
	public MessageDataManager messageDataManager() {
		return new MessageDataManager();
	}
	
	@Bean
	public MaintenanceController maintenanceController() {
		return new MaintenanceController();
	}
	
}
